Ticket #41174: tool.c.diff

File tool.c.diff, 624 bytes (added by kurthindenburg (Kurt Hindenburg), 10 years ago)

Attempt to replace memccpy

  • tool.c

    old new  
    420420                         * strrcpy(), we have overlapping blocks.
    421421                         */
    422422                        im_strncpy( value, toolitem->label, MAX_NAME );
     423
     424                        /* This memccpy crashes on Mavericks */
     425                        /*
    423426                        for( i = 0; value[i]; i++ )
    424427                                if( value[i] == '_' )
    425428                                        memccpy( value + i, value + i + 1,
    426429                                                0, MAX_NAME - i );
     430                        */
     431
     432                        char *dst = value;
     433                        for( i = 0; value[i]; i++ )
     434                                if ( value[i] != '_' )
     435                                        *dst++ = value[i];
     436                        *dst = 0;
     437                        memmove(value, dst, strlen(dst));
     438
    427439                        IM_SETSTR( toolitem->name, value );
    428440                }
    429441