jumar's log

vendredi, octobre 14, 2005

Petits tricks d' inputrc

A placer dans le fichier ~/.inputrc ou /etc/inputrc


"e[1~": beginning-of-line
"e[4~": end-of-line
"e[5~": beginning-of-history
"e[6~": end-of-history
"e[3~": delete-char
"e[2~": quoted-insert
"e[5C": forward-word
"e[5D": backward-word
"ee[C": forward-word
"ee[D": backward-word
set completion-ignore-case On

Toutes les lignes sauf la derniere activent les mouvements de curseur "à la cool" pour readline & bash du genre Ctrl+Fleche. La dernière ligne permet d'ignorer la casse lors de la Tab-completion de bash.

lundi, octobre 03, 2005

moules frites

2 moules


3 frites


mettez au four et miam!

jeudi, septembre 29, 2005

Comment enlever ^M dans un fichier texte

Note pour obtenir le charractère ^M il faut tapper Ctrl+v+m et non ^ puis M.
Deux methodes :

  • Avec vim : :%s/^M/ /g

  • En bash avec tr :
    #!/bin/bash
    cat $1 | tr '^M' ' ' >> $1.tmp
    mv $1.tmp $1

mercredi, septembre 28, 2005

Partager ses bookmarks entre utilisateurs ou en cas de dual boot

Il suffit de créer un fichier "user.js" dans le répertoire du profile et d'y spécifier le chemin que l'on veut pour le fichier de bookmarks :
~~
// Specify which bookmarks file to use:
user_pref("browser.bookmarks.file", "C:\\Path To Netscape Profile\\bookmarks.html");
~~
Note : il faut les backslash en double sous windows.

Comparer des numéros de version en C

C'est pas évident de comparer des numéro de version et C... Je suis arrivé à ces deux petites fonctions :

/** \brief Compare two version numbers
*
* \return a number greater equals or inferior to 0 if the first version number
* is respectively greater, equal or inferior to the second one.
*/
int compareAppVersion(char currentAppVersion[16], char SDCardAppVersion[16])
{
char *majorCurr,* minorCurr,* revCurr;
char *majorSD,* minorSD,* revSD;
printf("currentAppVersion = %s\n", currentAppVersion);
printf("SDCardAppVersion = %s\n", SDCardAppVersion);
normaliseVersion(currentAppVersion);
printf("Normalized currentAppVersion = %s\n", currentAppVersion);
normaliseVersion(SDCardAppVersion);
printf("Normalized SDCardAppVersion = %s\n", SDCardAppVersion);
majorCurr = strtok(currentAppVersion, ".");
printf("majorCurr = %s\n", majorCurr);
minorCurr = strtok(NULL, ".");
printf("minorCurr = %s\n", minorCurr);
revCurr = strtok(NULL, ".");
printf("revCurr = %s\n", revCurr);
majorSD = strtok(SDCardAppVersion, ".");
printf("majorSD = %s\n", majorSD);
minorSD = strtok(NULL, ".");
printf("minorSD = %s\n", minorSD);
revSD = strtok(NULL, ".");
printf("revSD = %s\n", revSD);
//We compare major numbers
printf("Compare major\n");
if((strcmp(majorCurr, majorSD) > 0 ))
return 1;
else
{
if(strcmp(majorCurr, majorSD) < 0 )
return -1;
else
{
if(strcmp(majorCurr, majorSD) == 0 )
{//We compare minor numbers
printf("Compare minor\n");
if(strcmp(minorCurr, minorSD) > 0)
return 1;
else if(strcmp(minorCurr, minorSD) < 0 )
return -1;

else if(strcmp(minorCurr, minorSD) == 0 )
{
printf("Compare rev\n");
if(strcmp(revCurr, revSD) > 0)
return 1;
else if(strcmp(revCurr, revSD) < 0 )
return -1;
else if(strcmp(revCurr, revSD) == 0 )
return 0;
}
}
}
}
return 0;
}

/** \brief function that adds the missing ".0" version subnumbers
*
* A standard version number is formated X.X.X
* \param version The version number to normalise
*/
void normaliseVersion(char version[16])
{
char * ptr;
int dotCount =0;
char tmp[16];
strcpy(tmp, version);
printf("version to normalize : %s\n", tmp);
while((ptr = strchr(tmp, '.')) != NULL)
{
*ptr = '*';
dotCount++;
}printf("Dots : %d\n", dotCount);
switch(dotCount)
{
case 0 :
strcat(version, ".0.0");
break;
case 1 :
strcat(version, ".0");
break;
case 2 :
break;
}

}

shell script qui remplace récurcivement un patern dans des fichiers

#! /bin/sh
find . -type f -name '*' -print | while read file
do
if [ "$file" = "$0" ]; then
echo "skip the script !"
else
sed -e s/RVx/RSX/g $file > $file.tmp && mv $file.tmp $file && echo "file $file patched"
fi
done

mercredi, juin 29, 2005

Command to make a checkout of a module from the cvs repository :

$ pwd
/home/jumar/work/winlibre/
$ export CVS_RSH=ssh
$ cvs -d:ext:jumar@cvs.sf.net:/cvsroot/winlibre checkout ModuleName

mardi, juin 28, 2005

Todo : add a wiki page about cvs for the Winlibre SoC